Skip to content

docs: clarify three-state include/exclude_half.life semantics#556

Merged
billdenney merged 2 commits into
mainfrom
docs-half-life-include-exclude
Jun 13, 2026
Merged

docs: clarify three-state include/exclude_half.life semantics#556
billdenney merged 2 commits into
mainfrom
docs-half-life-include-exclude

Conversation

@billdenney

Copy link
Copy Markdown
Member

Summary

The TRUE/FALSE/NA semantics of include_half.life / exclude_half.life, and
the rule that only one may be in use per interval, were not in the argument
reference. This made it non-obvious that initializing a column to all-FALSE
(instead of NA) engages that mechanism, which can trigger "Cannot both include
and exclude half-life points for the same interval" when inclusions are also set.
(Surfaced by an aNCA revdep check against dev PKNCA.)

Changes

  • Roxygen / man pages (PKNCAconc(), pk.nca.interval()): document the three
    per-point states (TRUE acts, FALSE does not, NA undefined), the activation
    rule (a column is "in use" unless entirely NA, so an all-FALSE column still
    counts), and the mutual-exclusivity rule.
  • Half-life vignette (v06): add the same note; fix a mislabeled include_half.life
    example (intro text said "exclude"; chunk comments were copied from the exclude case).
  • NEWS entry under Improvements.

Documentation only — no behavior change.

🤖 Generated with Claude Code

billdenney and others added 2 commits June 13, 2026 22:31
The TRUE/FALSE/NA semantics of include_half.life and exclude_half.life, and
the rule that only one may be in use per interval, were not documented in the
function/argument reference. This left it unclear that initializing a column
to all-FALSE (rather than NA) engages that mechanism and can trigger "Cannot
both include and exclude half-life points for the same interval" when
downstream code also sets inclusions.

- Document the three per-point states (TRUE acts, FALSE does not, NA undefined)
  and the "in use unless entirely NA" activation rule in the roxygen for
  PKNCAconc() and pk.nca.interval(); regenerate man pages.
- Add the mutual-exclusivity note to the half-life vignette and fix a
  mislabeled "include" example (section text + chunk comments).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Make explicit that exclude_half.life does NOT bypass automatic curve-stripping
point selection -- it drops the flagged points, and curve stripping still runs
on the remaining points -- while include_half.life bypasses curve stripping and
names the exact points to use. Replace the generic "TRUE acts on the point"
phrasing with the per-column meaning (TRUE uses/excludes the point).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@billdenney billdenney merged commit 0e8caa3 into main Jun 13, 2026
7 checks passed
@billdenney billdenney deleted the docs-half-life-include-exclude branch June 13, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant